package com.megan.design.principle.dependenceinversion;

import lombok.extern.slf4j.Slf4j;

/**
 * @Author: megan
 * @Data: 2018/8/19 下午5:45
 * @Description: megan
 */
@Slf4j
public class Megan {

    // v1
//    public void studyJavaCourse(){
//        log.info("megan 正在学习java课程");
//    }
//
//    public void studyFeCourse(){
//        log.info("megan 正在学习前端课程");
//    }

    // v2
//    public void studyCourse(ICourse iCourse){
//        iCourse.studyCourse();
//    }

    // v3
//    private ICourse iCourse;
//    public Megan(ICourse iCourse){
//        this.iCourse = iCourse;
//    }
//    public void studyCourse(){
//        iCourse.studyCourse();
//    }

    // v4

    private ICourse iCourse;
    public void setiCourse(ICourse iCourse) {
        this.iCourse = iCourse;
    }
    public void studyCourse(){
        iCourse.studyCourse();
    }
}
